package com.mezz.bones.framework.payment.domain.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Map;

/**
 * @author mezz
 * @date 2022-05-29 21:44
 * @description:
 */
@Data
@ApiModel("支付结果响应")
public class PayResponse {

  public static int ACTION_TYPE_IMG = 1;
  public static int ACTION_TYPE_URL = 2;
  public static int ACTION_TYPE_CODE = 3;
  public static int ACTION_TYPE_FORM = 4;

  @ApiModelProperty("平台支付表主键ID")
  private Long paymentId;

  @ApiModelProperty("平台支付单号")
  private String tradeOutNo;

  @ApiModelProperty("三方支付单号")
  private String transactionsId;

  @ApiModelProperty("支付金额")
  private String amount;

  @ApiModelProperty("货币类型")
  private String currency;

  @ApiModelProperty("支付方式 PayMethodEnum")
  private String payMethod;
  @ApiModelProperty("支付通道")
  private String payChannel;

  //在指定时间戳(毫秒)里  支付超时
  private Long expireIn;

  //前端执行动作类型 1展示二维码 2跳转URL 3唤醒APP 4..
  private Integer actionType;

  //二维码 | URL | CODE
  @ApiModelProperty("前端渲染方式")
  private String actionVal;

  //SUCCESS-支付成功
  //PENDING-支付中
  //FAILED-支付失败
  //CLOSED-支付订单关闭
  //NOT_PAID-未支付
  //TIME_OUT-支付超时
  @ApiModelProperty("支付单状态")
  private String payStatus;

  @ApiModelProperty("其它扩展信息")
  private Map extInfo;
}
